#功    能： 检查添加随机绑定的4个关键词到数据库，需要上传txt
#功能函数： init_4words()
#使用方法： 读取小说的时候把这个函数放到view中直接调用就可以，直接存入小说数据库

#批量添加邦定关键词
import random
from newsblog import models

#查出所有数据库表4条内容，并返回list
def keywords_list():
    n = 4
    i = random.randint(0, models.KeyWords.objects.count() - n)
    myuser = list(models.KeyWords.objects.all()[i:i + n])
    # myuser = list(models.KeyWords.objects.all().values())   #获取所有的值
    # print(str(models.KeyWords.objects.all().query))           #打印获取的值
    # print(type(myuser))
    # print('getuserinfo()函数下:', myuser)

    return myuser   #格式是list{字典，字典}




def init_4words():
    mykeywordslist = list(models.KeyWords.objects.all())  #查询所有keyword表中所有数据字典
    # print("tool.py newwords打印信息")
    # print(mykeywordslist)
    for i in mykeywordslist:
        # print(i.keywords)
        if i.kewordsfix1 == "0" and i.kewordsfix2 == "0" and i.kewordsfix3 == "0" and i.kewordsfix4 == "0":
            print("init4words.py,初始化4个推荐词")
            keyworslist = keywords_list()
            models.KeyWords.objects.filter(keywords=i.keywords).update(kewordsfix1=keyworslist[0].keywords,
                                                                  kewordsfix2=keyworslist[1].keywords,
                                                                  kewordsfix3=keyworslist[2].keywords,
                                                                  kewordsfix4=keyworslist[3].keywords)
                #################随机添加模拟词结束########################

        if i.hidecontent == '0':
            n = 1
            print("init4words.py,初始化隐藏文章")
            # 取出文章数据库一条内容，并标记状态state为1，标识已用
            xiaoshuocontent =models.Xiaoshuo.objects.filter(usestate=0)[0]
            models.Xiaoshuo.objects.filter(content=xiaoshuocontent.content).update(usestate=1)
            #把取出的文章插入到keywords表的hidecontent，将0改为文章内容
            models.KeyWords.objects.filter(keywords=i.keywords).update(hidecontent=xiaoshuocontent.content)
            print(xiaoshuocontent)




